String 转换成 XML - Ruby and Java.. - ITeye技术网站

创建时间:2015/11/9 9:26
来源:http://sonyfe25cp.iteye.com/blog/609674


Java代码
 收藏代码
  1. 一、使用最原始的javax.xml.parsers,标准的jdk api  
  2.   
  3. // 字符串转XML  
  4. String xmlStr = \"......\";  
  5. StringReader sr = new StringReader(xmlStr);  
  6. InputSource is = new InputSource(sr);  
  7. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
  8. DocumentBuilder builder=factory.newDocumentBuilder();  
  9. Document doc = builder.parse(is);  
  10.   
  11. //XML转字符串  
  12. TransformerFactory  tf  =  TransformerFactory.newInstance();  
  13. Transformer t = tf.newTransformer();  
  14. t.setOutputProperty(\"encoding\",\"GB23121\");//解决中文问题,试过用GBK不行  
  15. ByteArrayOutputStream  bos  =  new  ByteArrayOutputStream();  
  16. t.transform(new DOMSource(doc), new StreamResult(bos));  
  17. String xmlStr = bos.toString();  
  18.   
  19. 这里的XML DOCUMENT为org.w3c.dom.Document  
  20.   
  21.   二、使用dom4j后程式变得更简单  
  22.   
  23. // 字符串转XML  
  24. String xmlStr = \"......\";  
  25. Document document = DocumentHelper.parseText(xmlStr);  
  26.   
  27. // XML转字符串  
  28. Document document = ...;  
  29. String text = document.asXML();  
  30.   
  31. 这里的XML DOCUMENT为org.dom4j.Document  
  32.   
  33.   三、使用JDOM  
  34.   
  35. JDOM的处理方式和第一种方法处理很类似  
  36.   
  37. //字符串转XML  
  38. String xmlStr = \".....\";  
  39. StringReader sr = new StringReader(xmlStr);  
  40. InputSource is = new InputSource(sr);  
  41. Document doc = (new SAXBuilder()).build(is);  
  42.   
  43. //XML转字符串  
  44. Format format = Format.getPrettyFormat();  
  45. format.setEncoding(\"gb2312\");//配置xml文档的字符为gb2312,解决中文问题  
  46. XMLOutputter xmlout = new XMLOutputter(format);  
  47. ByteArrayOutputStream bo = new ByteArrayOutputStream();  
  48. xmlout.output(doc,bo);  
  49. String xmlStr = bo.toString();  
  50.   
  51. 这里的XML DOCUMENT为org.jdom.Document  
  52.   
  53.   四、JAVASCRIPT中的处理  
  54.   
  55. //字符串转XML  
  56. var xmlStr = \".....\";  
  57. var xmlDoc = new ActiveXObject(\"Microsoft.XMLDOM\");  
  58. xmlDoc.async=false;  
  59. xmlDoc.loadXML(xmlStr);  
  60. //能够处理这个xmlDoc了  
  61. var name = xmlDoc.selectSingleNode(\"/person/name\");  
  62. alert(name.text);  
  63.   
  64. //XML转字符串  
  65. var xmlDoc = ......;  
  66. var xmlStr = xmlDoc.xml  
  67.   
  68. 这里的XML DOCUMENT为javascript版的XMLDOM